#ifndef __EFFECTS_H__
#define __EFFECTS_H__

#include "Effect.h"
#include <vector>

class Effects
{
public:
    typedef std::vector<Effect> effect_cont_type;
    typedef Effects*            EffectsPtr;
    
private:
    effect_cont_type m_effects;
    
    static EffectsPtr m_pInstance;
    Effects() {};
    
public:
    ~Effects() { delete m_pInstance; };
    
    static EffectsPtr   GetInstance();
    effect_cont_type    GetEffects() const { return m_effects; };
    
    void CreateEffect(std::string name, int duration, int elementId);
};

#endif